In un precedente articolo (Hosts di una rete con linux e nmap) abbiamo visto come recuperare gli host presenti sulla nostra rete, tramite un semplice comando linux.
Oggi vedremo un altro metodo per ottenere lo stesso risultato, sfruttando il comando arp-scan, che è più rapido nell’esecuzione.
Come al solito il sistema attualmente in uso è Ubuntu Mate 18.04.3 LTS, nel quale arp-scan non è installato di default.
Quindi procediamo con l’installazione del comando, aprendo un terminale (scorciatoia rapida CTR+ALT+t) e inserendo i seguenti comandi:
Prima di tutto aggiorniamo la lista delle repository tramite il seguente comando, ricordandoci che, come di consueto, un comando preceduto dal comando sudo (necessario per avere i privilegi di amministratore) richiede l’inserimento della password utente:
redmarv@Frog:~$ sudo apt-get update
E avremo il seguente output:
redmarv@Frog:~$ sudo apt-get update
[sudo] password di redmarv:
Scaricamento di:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]
Trovato:2 http://ppa.launchpad.net/noobslab/themes/ubuntu bionic InRelease
Trovato:3 http://it.archive.ubuntu.com/ubuntu bionic InRelease
Ignorato:4 http://dl.google.com/linux/chrome/deb stable InRelease
Trovato:5 http://dl.google.com/linux/chrome/deb stable Release
Scaricamento di:6 http://it.archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]
Ignorato:7 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease
Trovato:8 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release
Scaricamento di:9 http://it.archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]
Trovato:10 http://repo.steampowered.com/steam precise InRelease
Trovato:11 http://linux.teamviewer.com/deb stable InRelease
Scaricamento di:12 http://dl.ubnt.com/unifi/debian stable InRelease [3.024 B]
Errore:12 http://dl.ubnt.com/unifi/debian stable InRelease
Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 06E85760C0A52C50
Recuperati 255 kB in 1s (252 kB/s)
Lettura elenco dei pacchetti... Fatto
Dopo aver aggiornato la lista delle repository, utilizziamo il seguente comando per installare il comando:
redmarv@Frog:~$ sudo apt-get install arpscan
E avremo il seguente output:
redmarv@Frog:~$ sudo apt-get install arpscan
[sudo] password di redmarv:
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti aggiuntivi saranno inoltre installati:
ieee-data
I seguenti pacchetti NUOVI saranno installati:
arp-scan ieee-data
0 aggiornati, 2 installati, 0 da rimuovere e 0 non aggiornati.
È necessario scaricare 1.794 kB di archivi.
Dopo quest'operazione, verranno occupati 10,8 MB di spazio su disco.
Continuare? [S/n]
Scaricamento di:1 http://it.archive.ubuntu.com/ubuntu bionic/main amd64 ieee-data all 20180204.1 [1.539 kB]
Scaricamento di:2 http://it.archive.ubuntu.com/ubuntu bionic/universe amd64 arp-scan amd64 1.9-3 [255 kB]
Recuperati 1.794 kB in 1s (1.606 kB/s)
Selezionato il pacchetto ieee-data non precedentemente selezionato.
(Lettura del database... 303100 file e directory attualmente installati.)
Preparativi per estrarre .../ieee-data_20180204.1_all.deb...
Estrazione di ieee-data (20180204.1)...
Selezionato il pacchetto arp-scan non precedentemente selezionato.
Preparativi per estrarre .../arp-scan_1.9-3_amd64.deb...
Estrazione di arp-scan (1.9-3)...
Configurazione di ieee-data (20180204.1)...
Configurazione di arp-scan (1.9-3)...
Elaborazione dei trigger per man-db (2.8.3-2ubuntu0.1)...
Ora che abbiamo arp-scan installato, vediamo come utilizzare questo semplice comando per scoprire gli hosts presenti nella nostra rete.
Abbiamo bisogno di due informazioni:
- Nome della nostra scheda di rete
- Rete a cui siamo connessi (ad esempio 192.168.1.0/24)
Queste informazioni possono essere facilmente reperite tramite l’esecuzione del comando “ifconfig” come segue:
redmarv@Frog:~$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.100 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::e64e:83aa:cbe9:7a43 prefixlen 64 scopeid 0x20<link>
ether a0:48:1c:9f:5b:a7 txqueuelen 1000 (Ethernet)
RX packets 36508029 bytes 25319448632 (25.3 GB)
RX errors 0 dropped 68 overruns 0 frame 0
TX packets 29650599 bytes 10140205577 (10.1 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7c00000-f7c20000
Da questa schermata possiamo vedere che la nostra scheda di rete si chiama “eno1” e il nostro ip è 192.168.2.100, quindi il comando che lanceremo è:
sudo arp-scan --interface=eno1 192.168.2.1/24
Avremo il seguente output:
redmarv@Frog:~$ sudo arp-scan --interface=eno1 192.168.2.1/24
Interface: eno1, datalink type: EN10MB (Ethernet)
WARNING: host part of 192.168.2.1/24 is non-zero
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.2 00:f1:f5:XX:XX:XX (Unknown)
192.168.2.3 7c:2f:80:XX:XX:XX Gigaset Communications GmbH
192.168.2.12 52:54:00:XX:XX:XX QEMU
192.168.2.21 52:54:00:XX:XX:XX QEMU
192.168.2.25 52:54:00:XX:XX:X QEMU
192.168.2.116 30:cd:a7:XX:XX:XX Samsung Electronics ITS, Printer division
192.168.2.113 00:0b:82:XX:XX:XX Grandstream Networks, Inc.
192.168.2.129 00:25:4b:XX:XX:XX Apple, Inc
192.168.2.130 fc:ec:da:XX:XX:XX (Unknown)
192.168.2.138 5e:10:9e:XX:XX:XX (Unknown)
192.168.2.139 52:54:00:XX:XX:XX QEMU
192.168.2.153 7c:2f:80:XX:XX:XX Gigaset Communications GmbH
192.168.2.161 90:b1:1c:XX:XX:XX Dell Inc.
192.168.2.160 00:0b:82:XX:XX:XX Grandstream Networks, Inc.
192.168.2.165 b0:be:76:XX:XX:XX (Unknown)
192.168.2.181 04:d6:aa:XX:XX:XX (Unknown)
192.168.2.187 e0:76:d0:XX:XX:XX (Unknown)
192.168.2.200 9a:eb:2c:XX:XX:XX (Unknown)
192.168.2.220 6a:b2:d5:XX:XX:XX (Unknown)
192.168.2.230 90:02:a9:XX:XX:XX ZHEJIANG DAHUA TECHNOLOGY CO.,LTD
192.168.2.231 00:0c:43:XX:XX:XX Ralink Technology, Corp.
192.168.2.240 18:e8:29:XX:XX:XX (Unknown)
192.168.2.244 80:2a:a8:XX:XX:XX (Unknown)
192.168.2.245 b0:be:76:XX:XX:XX (Unknown)
192.168.2.246 b0:be:76:XX:XX:XX (Unknown)
192.168.2.247 b0:be:76:XX:XX:XX (Unknown)
192.168.2.248 76:4c:66:XX:XX:XX (Unknown)
192.168.2.249 34:17:eb:XX:XX:XX (Unknown)
192.168.2.250 f6:35:89:XX:XX:XX (Unknown)
192.168.2.251 24:5e:be:XX:XX:XX (Unknown)
192.168.2.253 34:17:eb:XX:XX:XX (Unknown)
192.168.2.121 ac:92:32:XX:XX:XX (Unknown)
Così facendo abbiamo un elenco degli ip attualmente attivi sulla nostra rete, con il relativo MAC Address (che ho camuffato con un XX:XX:XX finale) e, per alcuni di questi avremo già il produttore del dispositivo.
Buon lavoro!